package Reflect;

import java.lang.reflect.Field;

public class ReflectDemo11 {
    public static void main(String[] args) throws Exception{
        /**
         * 访问对象的私有属性
         * 1.加载Class对象
         * 2.找到属性
         * 3.创建反射对象，读取对象属性
         * 更改对象属性
         */
        //1.加载Class对象
        Class cls = Class.forName("Reflect.Foo");
        //Field 字段，成员变量
        //cls.getDeclaredField(名字)  按照名称查找，指定的属性
        //2.找到属性
        Field field = cls.getDeclaredField("name");
        //3.创建反射对象，读取对象属性
        Object obj = cls.newInstance();
        //打开访问权限
        field.setAccessible(true);
        Object value = field.get(obj);
        System.out.println(value);
        //更改属性值
        field.set(obj,"jj");
        System.out.println(obj);
    }

}
